package com.crl.game.simulation.common.action
{
	import com.crl.game.simulation.client.ActorProxy;
	
	import flash.utils.Dictionary;
	
	public class AbstractAction implements IAction
	{
		private var finished:Boolean;
		
		protected var blocks:Dictionary;
		protected var replaces:Dictionary;
		
		public function AbstractAction()
		{
		}
		
		public function get type():String{
			return "";
		}
		
		
		public function isBlock(action:IAction):Boolean{
			if(blocks){
				return blocks[action.type];
			}
			return false;
		}
		
		public function replace(action:IAction):Boolean{
			return false;
		}
		
		public function setFinished(bool:Boolean):void
		{
			finished=bool;
		}
		
		public function get isFinished():Boolean
		{
			return finished;
		}
		
		public function start(actor:ActorProxy):void
		{
		}
		
		public function giveup():Boolean
		{
			return true;
		}
		
		public function tick(time:int):void
		{
		}
	}
}